package com.cloudfun.campusshare.common.model.dto.kjt;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import lombok.Data;

import java.util.Map;

/**
 * Created by Huqin on 2020/7/31
 */
@Data
@ApiModel("快捷通即时到账交易信息DTO")
public class KjtInstantTradeInfoDTO {

    /**
     * [6,32]
     * 平台(商户)订单号，字母数字下划线，确保每笔订单唯一
     */
    @JsonProperty("out_trade_no")
    private String outTradeNo;

    /**
     * [0.256]
     * 商品名称，商品的标题/交易标题/订单标题/订单关键字等。
     */
    private String subject;

    /**
     * [0.256]
     * 交易备注
     */
    @JsonProperty("trade_memo")
    private String tradeMemo;

    /**
     * [3]
     * 币种，默认人民币CNY
     */
    private String currency = "CNY";

    /**
     * [0,15]
     * 商品单价，精确到小数点后两位
     */
    private String price;

    /**
     * [0,5]
     * 商品数量，数字
     */
    private String quantity;

    /**
     * [0,15]
     * 交易金额，交易金额=(商品单价×商品数量)。取值范围为[0.01，1000000000000.00)
     */
    @JsonProperty("total_amount")
    private String totalAmount;

    /**
     * 卖家标识类型，
     * 1-卖家会员ID
     * 2-卖家登录账号
     */
    @JsonProperty("payee_identity_type")
    private String payeeIdentityType;

    /**
     * [32]
     * 卖家会员ID或登录账号
     */
    @JsonProperty("payee_identity")
    private String payeeIdentity;

    /**
     * [32]
     * 业务号，收支明细的备注，对账用
     */
    @JsonProperty("biz_no")
    private String bizNo;

    /**
     * [0-200]
     * 服务器异步通知地址，快捷通主动通知商户网站里指定的URL http/https路径，当订单完成后会回调商户并告知订单状态
     */
    @JsonProperty("notify_url")
    private String notifyUrl;

    /**
     * 交易扩展字段
     */
    @JsonProperty("trade_ext")
    private Map<String, String> tradeExt;
}
